From 5df1e98b2ac8698539a7e7416fdb18d5c3ad36ed Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 25 Feb 2016 23:20:31 +0100 Subject: [PATCH] window: Draw decorations in the right place When we draw our own shadows, we need to offset the calls to render the background to the border rectangle. --- gtk/gtkwindow.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 4b686a16ee..12ad040334 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9902,18 +9902,24 @@ gtk_window_draw (GtkWidget *widget, if (priv->use_client_shadow) { + GtkBorder padding, border; + + gtk_style_context_get_padding (context, gtk_style_context_get_state (context), &padding); + gtk_style_context_get_border (context, gtk_style_context_get_state (context), &border); + sum_borders (&border, &padding); + gtk_render_background (context, cr, - window_border.left, window_border.top, + window_border.left - border.left, window_border.top - border.top, allocation.width - - (window_border.left + window_border.right), + (window_border.left + window_border.right - border.left - border.right), allocation.height - - (window_border.top + window_border.bottom)); + (window_border.top + window_border.bottom - border.top - border.bottom)); gtk_render_frame (context, cr, - window_border.left, window_border.top, + window_border.left - border.left, window_border.top - border.top, allocation.width - - (window_border.left + window_border.right), + (window_border.left + window_border.right - border.left - border.right), allocation.height - - (window_border.top + window_border.bottom)); + (window_border.top + window_border.bottom - border.top - border.bottom)); } else { -- 2.30.2